
package com.boot.system.wrapper;


import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.boot.framework.common.BaseEntityWrapper;
import com.boot.system.dto.SysMenuDTO;
import com.boot.system.dto.SysMenuMetaDTO;
import com.boot.system.entity.SysMenuEntity;


/**
 * 关键字搜索历史 包装类,返回视图层所需的字段
 *
 * @author Cloud
 * @since 2022-09-26
 */
public class SysMenuWrapper extends BaseEntityWrapper<SysMenuEntity, SysMenuDTO> {

    public static SysMenuWrapper build() {
        return new SysMenuWrapper();
    }


    @Override
    public SysMenuDTO entityDTO(SysMenuEntity entity) {
        SysMenuDTO sysMenuDTO = BeanUtil.copyProperties(entity, SysMenuDTO.class);
        SysMenuMetaDTO meta = BeanUtil.copyProperties(entity, SysMenuMetaDTO.class);
        sysMenuDTO.setMeta(meta);
        return sysMenuDTO;
    }

    @Override
    public SysMenuEntity dtoEntity(SysMenuDTO dto) {
        SysMenuEntity sysMenu = BeanUtil.copyProperties(dto, SysMenuEntity.class);
        if (!ObjectUtil.isNull(dto.getMeta())) {
            BeanUtil.copyProperties(dto.getMeta(), sysMenu);
        }
        return sysMenu;
    }
}
